using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("HeroCoin")]
	public class HeroCoin : PegUIElement
	{
		public enum CoinStatus
		{
			ACTIVE,
			DEFEATED,
			UNREVEALED,
			UNREVEALED_TO_ACTIVE,
			ACTIVE_TO_DEFEATED
		}

		public GameObject m_coin => method_3<GameObject>("m_coin");

		public GameObject m_coinX => method_3<GameObject>("m_coinX");

		public GameObject m_cracks => method_3<GameObject>("m_cracks");

		public HighlightState m_highlight => method_3<HighlightState>("m_highlight");

		public UberText m_coinLabel => method_3<UberText>("m_coinLabel");

		public GameObject m_tooltip => method_3<GameObject>("m_tooltip");

		public UberText m_tooltipText => method_3<UberText>("m_tooltipText");

		public GameObject m_leftCap => method_3<GameObject>("m_leftCap");

		public GameObject m_rightCap => method_3<GameObject>("m_rightCap");

		public GameObject m_middle => method_3<GameObject>("m_middle");

		public GameObject m_explosionPrefab => method_3<GameObject>("m_explosionPrefab");

		public bool m_inputEnabled => method_2<bool>("m_inputEnabled");

		public Vector2 m_goldTexture => method_2<Vector2>("m_goldTexture");

		public Vector2 m_grayTexture => method_2<Vector2>("m_grayTexture");

		public Vector2 m_crackTexture => method_2<Vector2>("m_crackTexture");

		public string m_lessonAsset => method_4("m_lessonAsset");

		public Vector2 m_lessonCoords => method_2<Vector2>("m_lessonCoords");

		public int m_missionID => method_2<int>("m_missionID");

		public CoinStatus m_currentStatus => method_2<CoinStatus>("m_currentStatus");

		public float m_originalMiddleWidth => method_2<float>("m_originalMiddleWidth");

		public Vector3 m_originalPosition => method_2<Vector3>("m_originalPosition");

		public Material m_material => method_3<Material>("m_material");

		public Material m_grayMaterial => method_3<Material>("m_grayMaterial");

		public Vector3 m_originalXPosition => method_2<Vector3>("m_originalXPosition");

		public bool m_nextTutorialStarted => method_2<bool>("m_nextTutorialStarted");

		public HeroCoin(IntPtr address, string className)
			: base(address, className)
		{
		}

		public HeroCoin(IntPtr address)
			: this(address, "HeroCoin")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public int GetMissionId()
		{
			return method_11<int>("GetMissionId", Array.Empty<object>());
		}

		public void SetCoinInfo(Vector2 goldTexture, Vector2 grayTexture, Vector2 crackTexture, int missionID)
		{
			method_8("SetCoinInfo", goldTexture, grayTexture, crackTexture, missionID);
		}

		public void SetLessonAsset(string lessonAsset)
		{
			method_8("SetLessonAsset", lessonAsset);
		}

		public string GetLessonAsset()
		{
			return method_13("GetLessonAsset");
		}

		public void SetProgress(CoinStatus status)
		{
			method_8("SetProgress", status);
		}

		public void HideTooltip()
		{
			method_8("HideTooltip");
		}

		public void EnableInput()
		{
			method_8("EnableInput");
		}

		public void FinishIntroScaling()
		{
			method_8("FinishIntroScaling");
		}

		public void ShowTooltip()
		{
			method_8("ShowTooltip");
		}

		public void OnOver(UIEvent e)
		{
			method_8("OnOver", e);
		}

		public void OnOut(UIEvent e)
		{
			method_8("OnOut", e);
		}

		public void OnPress(UIEvent e)
		{
			method_8("OnPress", e);
		}

		public void OnGameLoaded(SceneMgr.Mode mode, PegasusScene scene, object userData)
		{
			method_8("OnGameLoaded", mode, scene, userData);
		}

		public void StartNextTutorial()
		{
			method_8("StartNextTutorial");
		}
	}
}
